home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1996 #5
/
Amiga Plus CD - 1996 - No. 5.iso
/
pd
/
grafik
/
adpro_scripts
/
operators
/
scale_to_screen_
< prev
Wrap
Text File
|
1996-04-21
|
9KB
|
531 lines
/* $VER: Scale_to_Screen_ 2.02 (21.04.96)© Felix C. Coronado
*/
ADDRESS "ADPro"
OPTIONS RESULTS
NL='0A'x
IMAGE_TYPE
IF ADPro_Result='BITPLANE' THEN DO
ADPRO_TO_FRONT
OKAY1 "There is no 8 or 24 bit"||NL||,
"data to scale."||NL||,
"Try loading"||NL||,
"data from disk."
EXIT
END
VERSION
IF WORD(ADPro_Result,1)='ADPro' THEN DO
IF LEFT(WORD(ADPro_Result,2),3)>=2.5 THEN Vrsn='NEW'
ELSE Vrsn='OLD'
END
IF WORD(ADPro_Result,1)='MorphPlus' THEN DO
IF LEFT(WORD(ADPro_Result,2),3)>=1.3 THEN Vrsn='NEW'
ELSE Vrsn='OLD'
END
XSIZE
StartX=ADPro_Result
YSIZE
StartY=ADPro_Result
IF Vrsn='NEW' THEN DO
SET_RENDER_MODE
ScreenX=WORD(ADPro_Result,3)
ScreenY=WORD(ADPro_Result,4)
END
IF Vrsn='OLD' THEN DO
SCREEN_TYPE
Screen=ADPro_Result
IF Screen>=256 THEN Screen=Screen-256
/*NTSC LowRes NonL StdSz*/
IF Screen=0 THEN DO
ScreenX=320
ScreenY=200
END
/*NTSC LowRes NonL HOscan*/
IF Screen=8 THEN DO
ScreenX=368
ScreenY=200
END
/*NTSC LowRes NonL VOscan*/
IF Screen=16 THEN DO
ScreenX=320
ScreenY=240
END
/*NTSC LowRes NonL Oscan*/
IF Screen=24 THEN DO
ScreenX=368
ScreenY=240
END
/*NTSC LowRes Lace StdSz*/
IF Screen=2 THEN DO
ScreenX=320
ScreenY=400
END
/*NTSC LowRes Lace HOscan*/
IF Screen=10 THEN DO
ScreenX=368
ScreenY=400
END
/*NTSC LowRes Lace VOscan*/
IF Screen=18 THEN DO
ScreenX=320
ScreenY=480
END
/*NTSC LowRes Lace Oscan*/
IF Screen=26 THEN DO
ScreenX=368
ScreenY=480
END
/*NTSC HiRes NonL StdSz*/
IF Screen=1 THEN DO
ScreenX=640
ScreenY=200
END
/*NTSC HiRes NonL HOscan*/
IF Screen=9 THEN DO
ScreenX=736
ScreenY=200
END
/*NTSC HiRes NonL VOscan*/
IF Screen=17 THEN DO
ScreenX=640
ScreenY=240
END
/*NTSC HiRes NonL Oscan*/
IF Screen=25 THEN DO
ScreenX=736
ScreenY=240
END
/*NTSC HiRes Lace StdSz*/
IF Screen=3 THEN DO
ScreenX=640
ScreenY=400
END
/*NTSC HiRes Lace HOscan*/
IF Screen=11 THEN DO
ScreenX=736
ScreenY=400
END
/*NTSC HiRes Lace VOscan*/
IF Screen=19 THEN DO
ScreenX=640
ScreenY=480
END
/*NTSC HiRes Lace Oscan*/
IF Screen=27 THEN DO
ScreenX=736
ScreenY=480
END
/*NTSC S-HiRes NonL StdSz*/
IF Screen=64 THEN DO
ScreenX=1280
ScreenY=200
END
/*NTSC S-HiRes NonL HOscan*/
IF Screen=72 THEN DO
ScreenX=1472
ScreenY=200
END
/*NTSC S-HiRes NonL VOscan*/
IF Screen=80 THEN DO
ScreenX=1280
ScreenY=240
END
/*NTSC S-HiRes NonL Oscan*/
IF Screen=88 THEN DO
ScreenX=1472
ScreenY=240
END
/*NTSC S-HiRes Lace StdSz*/
IF Screen=66 THEN DO
ScreenX=1280
ScreenY=400
END
/*NTSC S-HiRes Lace HOscan*/
IF Screen=74 THEN DO
ScreenX=1472
ScreenY=400
END
/*NTSC S-HiRes Lace VOscan*/
IF Screen=82 THEN DO
ScreenX=1280
ScreenY=480
END
/*NTSC S-HiRes Lace Oscan*/
IF Screen=90 THEN DO
ScreenX=1472
ScreenY=480
END
/*PAL LowRes NonL StdSz*/
IF Screen=4 THEN DO
ScreenX=320
ScreenY=256
END
/*PAL LowRes NonL HOscan*/
IF Screen=12 THEN DO
ScreenX=368
ScreenY=256
END
/*PAL LowRes NonL VOscan*/
IF Screen=20 THEN DO
ScreenX=320
ScreenY=296
END
/*PAL LowRes NonL Oscan*/
IF Screen=28 THEN DO
ScreenX=368
ScreenY=296
END
/*PAL LowRes Lace StdSz*/
IF Screen=6 THEN DO
ScreenX=320
ScreenY=512
END
/*PAL LowRes Lace HOscan*/
IF Screen=14 THEN DO
ScreenX=368
ScreenY=512
END
/*PAL LowRes Lace VOscan*/
IF Screen=22 THEN DO
ScreenX=320
ScreenY=592
END
/*PAL LowRes Lace Oscan*/
IF Screen=30 THEN DO
ScreenX=368
ScreenY=592
END
/*PAL HiRes NonL StdSz*/
IF Screen=5 THEN DO
ScreenX=640
ScreenY=256
END
/*PAL HiRes NonL HOscan*/
IF Screen=13 THEN DO
ScreenX=736
ScreenY=256
END
/*PAL HiRes NonL VOscan*/
IF Screen=21 THEN DO
ScreenX=640
ScreenY=296
END
/*PAL HiRes NonL Oscan*/
IF Screen=29 THEN DO
ScreenX=736
ScreenY=296
END
/*PAL HiRes Lace StdSz*/
IF Screen=7 THEN DO
ScreenX=640
ScreenY=512
END
/*PAL HiRes Lace HOscan*/
IF Screen=15 THEN DO
ScreenX=736
ScreenY=512
END
/*PAL HiRes Lace VOscan*/
IF Screen=23 THEN DO
ScreenX=640
ScreenY=592
END
/*PAL HiRes Lace Oscan*/
IF Screen=31 THEN DO
ScreenX=736
ScreenY=592
END
/*PAL S-HiRes NonL StdSz*/
IF Screen=68 THEN DO
ScreenX=1280
ScreenY=256
END
/*PAL S-HiRes NonL HOscan*/
IF Screen=76 THEN DO
ScreenX=1472
ScreenY=256
END
/*PAL S-HiRes NonL VOscan*/
IF Screen=84 THEN DO
ScreenX=1280
ScreenY=296
END
/*PAL S-HiRes NonL Oscan*/
IF Screen=92 THEN DO
ScreenX=1472
ScreenY=296
END
/*PAL S-HiRes Lace StdSz*/
IF Screen=70 THEN DO
ScreenX=1280
ScreenY=512
END
/*PAL S-HiRes Lace HOscan*/
IF Screen=78 THEN DO
ScreenX=1472
ScreenY=512
END
/*PAL S-HiRes Lace VOscan*/
IF Screen=86 THEN DO
ScreenX=1280
ScreenY=592
END
/*PAL S-HiRes Lace Oscan*/
IF Screen=94 THEN DO
ScreenX=1472
ScreenY=592
END
/*VGA LowRes NonL StdSz*/
IF Screen=32 THEN DO
ScreenX=320
ScreenY=480
END
/*VGA LowRes NonL HOscan*/
IF Screen=40 THEN DO
ScreenX=368
ScreenY=480
END
/*VGA LowRes NonL VOscan*/
IF Screen=48 THEN DO
ScreenX=320
ScreenY=480
END
/*VGA LowRes NonL Oscan*/
IF Screen=56 THEN DO
ScreenX=368
ScreenY=480
END
/*VGA LowRes Lace StdSz*/
IF Screen=34 THEN DO
ScreenX=320
ScreenY=960
END
/*VGA LowRes Lace HOscan*/
IF Screen=42 THEN DO
ScreenX=368
ScreenY=960
END
/*VGA LowRes Lace VOscan*/
IF Screen=50 THEN DO
ScreenX=320
ScreenY=960
END
/*VGA LowRes Lace Oscan*/
IF Screen=58 THEN DO
ScreenX=368
ScreenY=960
END
/*VGA HiRes NonL StdSz*/
IF Screen=33 THEN DO
ScreenX=640
ScreenY=480
END
/*VGA HiRes NonL HOscan*/
IF Screen=41 THEN DO
ScreenX=736
ScreenY=480
END
/*VGA HiRes NonL VOscan*/
IF Screen=49 THEN DO
ScreenX=640
ScreenY=480
END
/*VGA HiRes NonL Oscan*/
IF Screen=57 THEN DO
ScreenX=736
ScreenY=480
END
/*VGA HiRes Lace StdSz*/
IF Screen=35 THEN DO
ScreenX=640
ScreenY=960
END
/*VGA HiRes Lace HOscan*/
IF Screen=43 THEN DO
ScreenX=736
ScreenY=960
END
/*VGA HiRes Lace VOscan*/
IF Screen=51 THEN DO
ScreenX=640
ScreenY=960
END
/*VGA HiRes Lace Oscan*/
IF Screen=59 THEN DO
ScreenX=736
ScreenY=960
END
/*VGA S-HiRes NonL StdSz*/
IF Screen=96 THEN DO
ScreenX=1280
ScreenY=480
END
/*VGA S-HiRes NonL HOscan*/
IF Screen=104 THEN DO
ScreenX=1472
ScreenY=480
END
/*VGA S-HiRes NonL VOscan*/
IF Screen=112 THEN DO
ScreenX=1280
ScreenY=480
END
/*VGA S-HiRes NonL Oscan*/
IF Screen=120 THEN DO
ScreenX=1472
ScreenY=480
END
/*VGA S-HiRes Lace StdSz*/
IF Screen=98 THEN DO
ScreenX=1280
ScreenY=960
END
/*VGA S-HiRes Lace HOscan*/
IF Screen=106 THEN DO
ScreenX=1472
ScreenY=960
END
/*VGA S-HiRes Lace VOscan*/
IF Screen=114 THEN DO
ScreenX=1280
ScreenY=960
END
/*VGA S-HiRes Lace Oscan*/
IF Screen=122 THEN DO
ScreenX=1472
ScreenY=960
END
/*SUP72 LowRes NonL StdSz*/
IF Screen=128 THEN DO
ScreenX=208
ScreenY=300
END
/*SUP72 LowRes NonL HOscan*/
IF Screen=136 THEN DO
ScreenX=256
ScreenY=300
END
/*SUP72 LowRes NonL VOscan*/
IF Screen=144 THEN DO
ScreenX=208
ScreenY=340
END
/*SUP72 LowRes NonL Oscan*/
IF Screen=152 THEN DO
ScreenX=256
ScreenY=340
END
/*SUP72 LowRes Lace StdSz*/
IF Screen=130 THEN DO
ScreenX=208
ScreenY=600
END
/*SUP72 LowRes Lace HOscan*/
IF Screen=138 THEN DO
ScreenX=256
ScreenY=600
END
/*SUP72 LowRes Lace VOscan*/
IF Screen=146 THEN DO
ScreenX=208
ScreenY=680
END
/*SUP72 LowRes Lace Oscan*/
IF Screen=154 THEN DO
ScreenX=256
ScreenY=680
END
/*SUP72 HiRes NonL StdSz*/
IF Screen=129 THEN DO
ScreenX=400
ScreenY=300
END
/*SUP72 HiRes NonL HOscan*/
IF Screen=137 THEN DO
ScreenX=496
ScreenY=300
END
/*SUP72 HiRes NonL VOscan*/
IF Screen=145 THEN DO
ScreenX=400
ScreenY=340
END
/*SUP72 HiRes NonL Oscan*/
IF Screen=153 THEN DO
ScreenX=496
ScreenY=340
END
/*SUP72 HiRes Lace StdSz*/
IF Screen=131 THEN DO
ScreenX=400
ScreenY=600
END
/*SUP72 HiRes Lace HOscan*/
IF Screen=139 THEN DO
ScreenX=496
ScreenY=600
END
/*SUP72 HiRes Lace VOscan*/
IF Screen=147 THEN DO
ScreenX=400
ScreenY=680
END
/*SUP72 HiRes Lace Oscan*/
IF Screen=155 THEN DO
ScreenX=496
ScreenY=680
END
/*SUP72 S-HiRes NonL StdSz*/
IF Screen=192 THEN DO
ScreenX=800
ScreenY=300
END
/*SUP72 S-HiRes NonL HOscan*/
IF Screen=200 THEN DO
ScreenX=992
ScreenY=300
END
/*SUP72 S-HiRes NonL VOscan*/
IF Screen=208 THEN DO
ScreenX=800
ScreenY=340
END
/*SUP72 S-HiRes NonL Oscan*/
IF Screen=216 THEN DO
ScreenX=992
ScreenY=340
END
/*SUP72 S-HiRes Lace StdSz*/
IF Screen=194 THEN DO
ScreenX=800
ScreenY=600
END
/*SUP72 S-HiRes Lace HOscan*/
IF Screen=202 THEN DO
ScreenX=992
ScreenY=600
END
/*SUP72 S-HiRes Lace VOscan*/
IF Screen=210 THEN DO
ScreenX=800
ScreenY=680
END
/*SUP72 S-HiRes Lace Oscan*/
IF Screen=218 THEN DO
ScreenX=992
ScreenY=680
END
END
EndX=ScreenX
EndY=ScreenX/StartX*StartY
IF EndY<1 THEN EndY=1
IF EndY>ScreenY THEN DO
EndX=ScreenY/StartY*StartX
EndY=ScreenY
IF EndX<1 THEN EndX=1
END
ABS_SCALE TRUNC(EndX+.5) TRUNC(EndY+.5)
IF rc=10 THEN DO
ADPRO_TO_FRONT
OKAY1 'Scale failed'
END